#-*- coding: utf-8 -*-
import xlrd
from sqlalchemy import MetaData, Column, Table, ForeignKey
from sqlalchemy import Integer, String
from sqlalchemy import select, func, distinct
from sqlalchemy import and_
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from table_sql import CLS_Table
import os
import csv


engine = create_engine('sqlite:///Inscritos_2010-2011-bdd.db', echo = False)
Session = sessionmaker(bind=engine)
session = Session()
listbdd = []
#listElement = []
#strFinal = ""
ESTAB_ENSINO = ''
UNI_ORGANICA = ''
NIVEL_FORMACAO = ''
CURSO_SUP = ''
AREA_EDU_FOR = ''
#NAME_TABLE_XLS = "Sheet1"
#NAME_XLS = "hippie-mini-mini.xls"
NAME_TABLE_XLS = "Tabela 4.1" #Tabela 4.1 Sheet1
NAME_XLS = "Inscritos_2010-2011.xls" #Inscritos_2010-2011 hippie-mini-mini

workbook = xlrd.open_workbook(NAME_XLS)

sh = workbook.sheet_by_name(NAME_TABLE_XLS)

list_values = []

checkCol = 0

for col in range(sh.ncols):
    if (sh.cell(3,col).value == ""):
        checkCol = col

for rownum in range(4, sh.nrows, 1):

   if sh.cell_value(rownum,0) == 'TOTAL':
      break
   else:
      if sh.cell_value(rownum,0) != '':
         ESTAB_ENSINO = unicode(sh.cell_value(rownum, 0))
      if sh.cell_value(rownum, 1) != '':
         UNI_ORGANICA = unicode(sh.cell_value(rownum, 1))
      if sh.cell_value(rownum,2) != '':
         NIVEL_FORMACAO = unicode(sh.cell_value(rownum, 2))
      if sh.cell_value(rownum,3) != '':
         CURSO_SUP = unicode(sh.cell_value(rownum, 3))
      if sh.cell_value(rownum,4) != '':
         AREA_EDU_FOR = unicode(sh.cell_value(rownum, 4))

      # COLUNAS
      listbdd[:] = []
      #listElement[:] = []
      #strFinal = ""
      #i = 0
      for col in range(sh.ncols):
         if (col != checkCol):
            if sh.cell(rownum,col).value == "-":
               listbdd.append(unicode('0.0'))
            elif isinstance(sh.cell(rownum,col).value, float):
               listbdd.append(unicode((sh.cell(rownum,col).value)))
            else:
               if (sh.cell(rownum,col).value) == '' and col == 0:
                 listbdd.append(ESTAB_ENSINO)
               elif (sh.cell(rownum,col).value) == '' and col == 1:
                 listbdd.append(UNI_ORGANICA)
               elif (sh.cell(rownum,col).value) == '' and col == 2:
                 listbdd.append(NIVEL_FORMACAO)
               elif (sh.cell(rownum,col).value) == '' and col == 3:
                 listbdd.append(CURSO_SUP)
               elif (sh.cell(rownum,col).value) == '' and col == 4:
                 listbdd.append(AREA_EDU_FOR)
               else:
                  listbdd.append(unicode(sh.cell(rownum,col).value)) 
                  
      session.add(CLS_Table(
                           listbdd[0], 
                           listbdd[1], 
                           listbdd[2], 
                           listbdd[3], 
                           listbdd[4], 
                           listbdd[5], 
                           listbdd[6], 
                           listbdd[7], 
                           listbdd[8], 
                           listbdd[9], 
                           listbdd[10],                            
                           listbdd[11], 
                           listbdd[12], 
                           listbdd[13], 
                           listbdd[14], 
                           listbdd[15], 
                           listbdd[16], 
                           listbdd[17], 
                           listbdd[18], 
                           listbdd[19], 
                           listbdd[20],                            
                           listbdd[21], 
                           listbdd[22], 
                           listbdd[23], 
                           listbdd[24], 
                           listbdd[25], 
                           listbdd[26], 
                           listbdd[27], 
                           listbdd[28], 
                           listbdd[29],
                           listbdd[30],                            
                           listbdd[31], 
                           listbdd[32], 
                           listbdd[33], 
                           listbdd[34], 
                           listbdd[35], 
                           listbdd[36], 
                           listbdd[37], 
                           listbdd[38], 
                           listbdd[39], 
                           listbdd[40],                            
                           listbdd[41], 
                           listbdd[42], 
                           listbdd[43], 
                           listbdd[44], 
                           listbdd[45], 
                           listbdd[46], 
                           listbdd[47], 
                           listbdd[48], 
                           listbdd[49], 
                           listbdd[50], 
                           listbdd[51], 
                           listbdd[52]
                           ))

# commit the record the database
session.commit()
print "\n### - END - (csv -> bdd)###\n"

estat_csv = open('estatisticas.csv', 'w')
writer = csv.writer(estat_csv, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)


#def query_1_2(self):
####### QUERY 1 - 2 todos as colunas da tabela em que o cuso tenha a palavra computadores e informatica - retorna uma lista - all()
lista_query1_2 = session.query(CLS_Table).filter(and_(CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'))).all()
lista_query1 = []	# lista que vai conter lista de objectos de cada linha para query1, lista a escrever no csv
lista_query2 = []	# lista que vai conter lista de objectos de cada linha para querr2, lista a escrever no csv

for obj_query in lista_query1_2:
	# listas_anos - lista com os anos e os respectivos numero de alunos (homens e mulheres)
	listas_anos_hm=[('9596' , obj_query.year_9596hm), ('9697' , obj_query.year_9697hm), ('9798' , obj_query.year_9798hm), ('9899' , obj_query.year_9899hm), ('9900' , obj_query.year_9900hm), ('0001' , obj_query.year_0001hm), ('0102' , obj_query.year_0102hm), ('0203' , obj_query.year_0203hm)
		, ('0304' , obj_query.year_0304hm), ('0405' , obj_query.year_0405hm), ('0506' , obj_query.year_0506hm), ('0607' , obj_query.year_0607hm), ('0708' , obj_query.year_0708hm), ('0809' , obj_query.year_0809hm), ('0910' , obj_query.year_0910hm), ('1011' , obj_query.year_1011hm)]
	
	# linha_csv_query1 - lista com o estabelecimento, unidade organica e curso, posteriormente sao adicionados os anos de funcionamento do curso
	linha_csv_query1 = [obj_query.estabelecimento.encode('utf-8'), obj_query.unidade.encode('utf-8'), obj_query.curso.encode('utf-8')]
	# linha_csv_query2 - lista com o nome do curo, posteriormente sao adicionados a quantidade de alunos inscritos para cada ano de funcionamento
	linha_csv_query2 = [obj_query.curso.encode('utf-8')]

	for lista_ano in listas_anos_hm:		#para cada lista com o ano(lista_ano[0]) e nr de alunos(lista_ano[1]), da lista de anos
		if(lista_ano[1] != '0.0'):
			linha_csv_query1.append(lista_ano[0])	# append do ano em que funcionou
			linha_csv_query2.append(lista_ano[1])	# append do nr de alunos
	lista_query1.append(linha_csv_query1)
	lista_query2.append(linha_csv_query2)

writer.writerow("\nQUERY 1- Estabelecimentos Unidade Organica Cursos Anos De Funcionamento\n")
writer.writerows(lista_query1)
writer.writerow("\QUERY 2 - nQuantidade de alunos que se inscreveram nos cursos\n")
writer.writerows(lista_query2)

###### Query 3 - quantidade de cursos por nivel de formacao
# lista_query3_niveis - lista com os diferentes tipos de niveis de formacao para cursos com computadores e informatica
lista_query3_niveis = session.query(distinct(CLS_Table.nivel)).filter(and_(CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'))).all()	
lista_query3 = [] # lista que vai conter o ano, nivel de formacao e numero de  cursos por nivel

for nivel in lista_query3_niveis:
	
	# lista_query3_qnt - lista com a quantidade de cursos que existem por nivel de formacao e por anos
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_9596hm != '0.0')).scalar()
	lista_query3.append(('9596', nivel[0].encode('utf-8'), lista_query3_qnt))
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_9697hm != '0.0')).scalar()
	lista_query3.append(('9697', nivel[0].encode('utf-8'), lista_query3_qnt))
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_9798hm != '0.0')).scalar()
	lista_query3.append(('9798', nivel[0].encode('utf-8'), lista_query3_qnt))
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_9899hm != '0.0')).scalar()
	lista_query3.append(('9899', nivel[0].encode('utf-8'), lista_query3_qnt))
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_9900hm != '0.0')).scalar()
	lista_query3.append(('9900', nivel[0].encode('utf-8'), lista_query3_qnt))
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0001hm != '0.0')).scalar()
	lista_query3.append(('0001', nivel[0].encode('utf-8'), lista_query3_qnt))
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0102hm != '0.0')).scalar()
	lista_query3.append(('0102', nivel[0].encode('utf-8'), lista_query3_qnt))
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0203hm != '0.0')).scalar()
	lista_query3.append(('0203', nivel[0].encode('utf-8'), lista_query3_qnt))
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0304hm != '0.0')).scalar()
	lista_query3.append(('0304', nivel[0].encode('utf-8'), lista_query3_qnt))
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0405hm != '0.0')).scalar()
	lista_query3.append(('0405', nivel[0].encode('utf-8'), lista_query3_qnt))
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0506hm != '0.0')).scalar()
	lista_query3.append(('0506', nivel[0].encode('utf-8'), lista_query3_qnt))
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0607hm != '0.0')).scalar()
	lista_query3.append(('0607', nivel[0].encode('utf-8'), lista_query3_qnt))
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0708hm != '0.0')).scalar()
	lista_query3.append(('0708', nivel[0].encode('utf-8'), lista_query3_qnt))
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0809hm != '0.0')).scalar()
	lista_query3.append(('0809', nivel[0].encode('utf-8'), lista_query3_qnt))
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0910hm != '0.0')).scalar()
	lista_query3.append(('0910', nivel[0].encode('utf-8'), lista_query3_qnt))
	lista_query3_qnt = session.query(func.count(CLS_Table.curso)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_1011hm != '0.0')).scalar()
	lista_query3.append(('1011', nivel[0].encode('utf-8'), lista_query3_qnt))

writer.writerow("\nQuantidade de cursos por nivel de formacao\n")
writer.writerows(lista_query3)

###### Query 4 - quantidade de alunos por nivel de formacao
lista_query4_niveis = [(nivel) for nivel in lista_query3_niveis]	# copia da lista de niveis da query 3
lista_query4 = []	# lista que vai conter o ano o nivel e a quantidade de alunos por anos

for nivel in lista_query4_niveis:
	# lista_query4_qnt - lista com a quantidade de alunos que existem por nivel de formacao e por anos
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_9596hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_9596hm != 'None')).scalar()
	lista_query4.append(('9596', nivel[0].encode('utf-8'), lista_query4_qnt))
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_9697hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_9697hm != 'None')).scalar()
	lista_query4.append(('9697', nivel[0].encode('utf-8'), lista_query4_qnt))
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_9798hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_9798hm != 'None')).scalar()
	lista_query4.append(('9798', nivel[0].encode('utf-8'), lista_query4_qnt))
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_9899hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_9899hm != 'None')).scalar()
	lista_query4.append(('9899', nivel[0].encode('utf-8'), lista_query4_qnt))
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_9900hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_9900hm != 'None')).scalar()
	lista_query4.append(('9900', nivel[0].encode('utf-8'), lista_query4_qnt))
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_0001hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0001hm != 'None')).scalar()
	lista_query4.append(('0001', nivel[0].encode('utf-8'), lista_query4_qnt))
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_0102hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0102hm != 'None')).scalar()
	lista_query4.append(('0102', nivel[0].encode('utf-8'), lista_query4_qnt))
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_0203hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0203hm != 'None')).scalar()
	lista_query4.append(('0203', nivel[0].encode('utf-8'), lista_query4_qnt))
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_0304hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0304hm != 'None')).scalar()
	lista_query4.append(('0304', nivel[0].encode('utf-8'), lista_query4_qnt))
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_0405hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0405hm != 'None')).scalar()
	lista_query4.append(('0405', nivel[0].encode('utf-8'), lista_query4_qnt))
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_0506hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0506hm != 'None')).scalar()
	lista_query4.append(('0506', nivel[0].encode('utf-8'), lista_query4_qnt))
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_0607hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0607hm != 'None')).scalar()
	lista_query4.append(('0607', nivel[0].encode('utf-8'), lista_query4_qnt))
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_0708hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0708hm != 'None')).scalar()
	lista_query4.append(('0708', nivel[0].encode('utf-8'), lista_query4_qnt))
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_0809hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0809hm != 'None')).scalar()
	lista_query4.append(('0809', nivel[0].encode('utf-8'), lista_query4_qnt))
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_0910hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_0910hm != 'None')).scalar()
	lista_query4.append(('0910', nivel[0].encode('utf-8'), lista_query4_qnt))
	lista_query4_qnt = session.query(func.sum(CLS_Table.year_1011hm)).filter(and_(CLS_Table.nivel == nivel[0], CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'), CLS_Table.year_1011hm != 'None')).scalar()
	lista_query4.append(('1011', nivel[0].encode('utf-8'), lista_query4_qnt))

writer.writerow("\nQuantidade de alunos por nivel de formacao\n")
writer.writerows(lista_query4)

print 'Fim escrita estatisticas - close csv'
estat_csv.close()
'''
#### Query PLOT - para cada curso o nr de alunos inscritos por ano
#nr_cursos = session.query(func.count(distinct(CLS_Table.curso))).filter(and_(CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'))).scalar()
lista_query_curso = session.query(distinct(CLS_Table.curso)).filter(and_(CLS_Table.curso.like("%Computadores%"), CLS_Table.curso.like(u'%Informática%'))).all()
#print nr_cursos
lista_curso_alunos = []

for curso in lista_query_curso:
	a = session.query(func.sum(CLS_Table.year_9596hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_9596hm != 'None')).scalar()
	##print '9596', curso[0].encode('utf-8'), a
	lista_curso_alunos.append(('9596',curso[0].encode('utf-8'), a))
	#print '9596',curso[0].encode('utf-8'), a
	a = session.query(func.sum(CLS_Table.year_9697hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_9697hm != 'None')).scalar()
	lista_curso_alunos.append(('9697',curso[0].encode('utf-8'), a))
	
	a = session.query(func.sum(CLS_Table.year_9798hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_9798hm != 'None')).scalar()
	lista_curso_alunos.append(('9798',curso[0].encode('utf-8'), a))

	a = session.query(func.sum(CLS_Table.year_9899hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_9899hm != 'None')).scalar()
	lista_curso_alunos.append(('9899',curso[0].encode('utf-8'), a))

	a = session.query(func.sum(CLS_Table.year_9900hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_9900hm != 'None')).scalar()
	lista_curso_alunos.append(('9900',curso[0].encode('utf-8'), a))

	a = session.query(func.sum(CLS_Table.year_0001hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_0001hm != 'None')).scalar()
	lista_curso_alunos.append(('0001',curso[0].encode('utf-8'), a))

	a = session.query(func.sum(CLS_Table.year_0102hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_0102hm != 'None')).scalar()
	lista_curso_alunos.append(('0102',curso[0].encode('utf-8'), a))

	a = session.query(func.sum(CLS_Table.year_0203hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_0203hm != 'None')).scalar()
	lista_curso_alunos.append(('0203',curso[0].encode('utf-8'), a))

	a = session.query(func.sum(CLS_Table.year_0304hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_0304hm != 'None')).scalar()
	lista_curso_alunos.append(('0304',curso[0].encode('utf-8'), a))

	a = session.query(func.sum(CLS_Table.year_0405hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_0405hm != 'None')).scalar()
	lista_curso_alunos.append(('0405',curso[0].encode('utf-8'), a))

	a = session.query(func.sum(CLS_Table.year_0506hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_0506hm != 'None')).scalar()
	lista_curso_alunos.append(('0506',curso[0].encode('utf-8'), a))

	a = session.query(func.sum(CLS_Table.year_0607hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_0607hm != 'None')).scalar()
	lista_curso_alunos.append(('0607',curso[0].encode('utf-8'), a))
	
	a = session.query(func.sum(CLS_Table.year_0708hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_0708hm != 'None')).scalar()
	lista_curso_alunos.append(('0708',curso[0].encode('utf-8'), a))
	
	a = session.query(func.sum(CLS_Table.year_0809hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_0809hm != 'None')).scalar()
	lista_curso_alunos.append(('0809',curso[0].encode('utf-8'), a))
	
	a = session.query(func.sum(CLS_Table.year_0910hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_0910hm != 'None')).scalar()
	lista_curso_alunos.append(('0910',curso[0].encode('utf-8'), a))
	
	a = session.query(func.sum(CLS_Table.year_1011hm)).filter(and_(CLS_Table.curso == curso[0], CLS_Table.year_1011hm != 'None')).scalar()
	lista_curso_alunos.append(('1011',curso[0].encode('utf-8'), a))
	
#for x in lista_curso_alunos:
#	print 'Ano: ', x[0],'| Curso : ', x[1], '| Qnt : ', x[2]
'''
